home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / g_man / cat3 / standard / acbuf.z / acbuf
Encoding:
Text File  |  1998-10-20  |  6.0 KB  |  133 lines

  1.  
  2.  
  3.  
  4. aaaaccccbbbbuuuuffff((((3333GGGG))))                                                            aaaaccccbbbbuuuuffff((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      aaaaccccbbbbuuuuffff - operate on the accumulation buffer
  10.  
  11. CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  12.      vvvvooooiiiidddd aaaaccccbbbbuuuuffff((((oooopppp,,,, vvvvaaaalllluuuueeee))))
  13.      lllloooonnnngggg oooopppp;;;;
  14.      ffffllllooooaaaatttt vvvvaaaalllluuuueeee;;;;
  15.  
  16. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  17.      _o_p      expects one of six symbolic constants:
  18.  
  19.              AAAACCCC____CCCCLLLLEEEEAAAARRRR: The red, green, blue, and alpha accumulation buffer
  20.              contents are all set to _v_a_l_u_e (rounded to the nearest integer).
  21.              _v_a_l_u_e is clamped to the range of the accumulation buffer.
  22.  
  23.              AAAACCCC____AAAACCCCCCCCUUUUMMMMUUUULLLLAAAATTTTEEEE: Pixels are taken from the current rrrreeeeaaaaddddssssoooouuuurrrrcccceeee bank
  24.              (front, back, or zbuffer).  If this buffer has color component
  25.              resolutions of other than 8 bits, the components are rescaled to
  26.              the range [0,255].  Then the red, green, blue, and alpha
  27.              components are each scaled by _v_a_l_u_e.  The resulting pixels are
  28.              added to the pixels already present in the accumulation buffer.
  29.              The range of _v_a_l_u_e is -256 through 256.  Arguments outside this
  30.              range are clamped to it.  Accumulated values are NOT clamped to
  31.              the range of the accumulation buffer.  Thus overflow is avoided
  32.              only by limiting the range of accumulation operations.
  33.  
  34.              AAAACCCC____CCCCLLLLEEEEAAAARRRR____AAAACCCCCCCCUUUUMMMMUUUULLLLAAAATTTTEEEE: An efficient combination command whose
  35.              effect is to first clear the accumulation buffer contents to
  36.              zero, then add as per AC_ACCUMULATE.  Ranges and clamping are as
  37.              per AC_ACCUMULATE.
  38.  
  39.              AAAACCCC____RRRREEEETTTTUUUURRRRNNNN: Pixels are taken from the accumulation buffer.  Their
  40.              red, green, blue, and alpha components are each scaled by _v_a_l_u_e,
  41.              then clamped to the range [0,255].  The resulting 8 bit per
  42.              component pixels are then scaled to the range of the currently
  43.              enabled drawing buffers (front, back, or zbuffer) and written to
  44.              these buffers.  All special pixel operations (zbuffer,
  45.              blendfunction, logicop, stencil, texture mapping, etc.) are
  46.              ignored during this transfer.  Destination values are simply
  47.              replaced.  The operation is limited by the current viewport and
  48.              screenmask, however.  The range of _v_a_l_u_e is 0.0 through 1.0.
  49.              Arguments outside this range are clamped to it.
  50.  
  51.              AAAACCCC____MMMMUUUULLLLTTTT: The red, green, blue, and alpha components of each
  52.              accumulation buffer pixel are scaled by _v_a_l_u_e.
  53.  
  54.              AAAACCCC____AAAADDDDDDDD: _v_a_l_u_e is added to each red, green, blue, and alpha
  55.              component of each pixel in the accumulation buffer.
  56.  
  57.      _v_a_l_u_e   expects a float point value.  _o_p determines how _v_a_l_u_e is used.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. aaaaccccbbbbuuuuffff((((3333GGGG))))                                                            aaaaccccbbbbuuuuffff((((3333GGGG))))
  71.  
  72.  
  73.  
  74. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  75.      The accumulation buffer is a bank of high resolution pixels, typically 12
  76.      or more bits for each of red, green, blue, and alpha, that is mapped 1-
  77.      to-1 with screen pixels.  (See aaaaccccssssiiiizzzzeeee.)  Pixel images stored in the
  78.      normal framebuffer can be added to the accumulation buffer.  These pixels
  79.      are scaled during the transfer by a floating-point value (of limited
  80.      range and resolution).  Later, the accumulated image can be returned to
  81.      the normal frame buffer, again while being scaled.
  82.  
  83.      Effects such as antialiasing (of points, lines, and polygons), motion-
  84.      blur, and depth-of-field can be created by accumulating images generated
  85.      with different transformation matrixes.  Predictable effects are possible
  86.      only when subpixel mode is TRUE (see subpixel).
  87.  
  88.      rrrreeeeaaaaddddssssoooouuuurrrrcccceeee mode is shared with other pixel read operations, including
  89.      llllrrrreeeeccccttttrrrreeeeaaaadddd and rrrreeeeccccttttccccooooppppyyyy.  rrrreeeeccccttttzzzzoooooooommmm, however, has no effect on accumulation
  90.      operation.
  91.  
  92.      All accumulation buffer operations are limited to the area of the current
  93.      screenmask, which itself is limited to the current viewport.
  94.  
  95.      The accumulation buffer is a part of the normal framebuffer.  aaaaccccbbbbuuuuffff
  96.      should be called only while draw mode is NNNNOOOORRRRMMMMAAAALLLLDDDDRRRRAAAAWWWW, and while the normal
  97.      framebuffer is in RGB mode.
  98.  
  99. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  100.      acsize, drawmode, subpixel, scrmask
  101.  
  102. NNNNOOOOTTTTEEEESSSS
  103.      An error is reported, and no action is taken, if accumulate is called
  104.      while aaaaccccssssiiiizzzzeeee is zero.
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.